package com.hyw.supply.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 供应商项目信息
 * </p>
 *
 * @author zzp
 * @since 2024-03-15
 */
@Getter
@Setter
@TableName("supply_item")
public class SupplyItem implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @Schema(title = "itemCode", description = "项目编码")
    private String itemCode;

    @Schema(title = "itemName", description = "项目名称")
    private String itemName;

    @Schema(title = "itemOrderNo", description = "项目订单号")
    private String itemOrderNo;

    @Schema(title = "childOrderNo", description = "子订单编号")
    private String childOrderNo;

    @Schema(title = "orderStatus", description = "订单状态")
    private String orderStatus;

    @Schema(title = "skuCode", description = "sku编码")
    private String skuCode;

    @Schema(title = "goodsName", description = "商品名称")
    private String goodsName;

    @Schema(title = "purchasePrice", description = "采购价")
    private BigDecimal purchasePrice;

    @Schema(title = "barCode", description = "条形码")
    private String barCode;

    @Schema(title = "serialNumber", description = "3c序列号")
    private String serialNumber;

    @Schema(title = "itemNumber", description = "商品数量")
    private Integer itemNumber;

    @Schema(title = "receiver", description = "收货人")
    private String receiver;

    @Schema(title = "receiverPhone", description = "收货人联系电话")
    private String receiverPhone;

    @Schema(title = "receiverAddress", description = "收货人地址")
    private String receiverAddress;

    @Schema(title = "postalCode", description = "邮政编码")
    private String postalCode;

    @Schema(title = "expressCompany", description = "快递公司")
    private String expressCompany;

    @Schema(title = "expressOrderNo", description = "快递单号")
    private String expressOrderNo;

    @Schema(title = "deliveryDate", description = "发货时间")
    private LocalDateTime deliveryDate;

    @Schema(title = "leadOrderDate", description = "导单时间")
    private LocalDateTime leadOrderDate;

    @Schema(title = "noDeliveryReason", description = "未发货原因")
    private String noDeliveryReason;

    @Schema(title = "enterprise", description = "企业主体")
    private String enterprise;

    @Schema(title = "remarks", description = "备注")
    private String remarks;

    @Schema(title = "creater", description = "创建人")
    @TableField(value = "creater", fill = FieldFill.INSERT)
    private Long creater;

    @Schema(title = "createTime", description = "创建时间")
    private LocalDateTime createTime;

    @Schema(title = "updater", description = "修改人")
    @TableField(value = "updater", fill = FieldFill.INSERT_UPDATE)
    private Long updater;

    @Schema(title = "updateTime", description = "修改时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
